Systems, Methods, and Media for Reducing Femtocell Interference

ABSTRACT

Systems, methods, and media for reducing femtocell interference are provided. In some embodiments, systems for reducing femtocell interference are provided, the systems comprising: at least one hardware processor that: estimates a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimates a path loss from the MU user to a femtocell access point (FAP); determines whether the MU can meet a first target signal to interference plus noise ratio (SINR); determines whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricts the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined that the transmission from the MU will prevent the FU from achieving the second target SINR.

CROSS REFERENCE TO RELATED APPLICATION

The application claims the benefit of U.S. Provisional Patent Application No. 61/479,718, filed Apr. 27, 2011, which is hereby incorporated by reference herein in its entirety.

TECHNICAL FIELD

Systems, methods, and media for reducing femtocell interference are provided.

BACKGROUND

In recent years, wireless operators have been experiencing a steadily increasing demand for higher data rates and better quality of service due to the constant growth in the number of active wireless terminals. One significant challenge is how to improve the indoor coverage. Studies show that over 50% of all voice calls and more than 70% of data traffic originate from indoors. Therefore, indoor coverage providing high data rate and quality-of-service (QoS) is a key issue in developing next-generation wireless systems. However, adding macrocell base station (MBS) to meet the growing indoor service demands is very expensive. Instead, femtocells using femtocell access points (FAPs) have been proposed as a new system architecture to tackle this problem.

An FAP is a simple, low-power and low-cost base station installed at a user's premise, e.g., house, office, warehouse, etc., that provides a femtocell for local access to the network by means of some cellular technology (e.g., 2G, 3G). Using femtocells benefits both users and operators. Due to the proximity between the transmitter and receiver, indoor users experience better signal quality and communicate with higher throughput. Moreover, indoor users transmit less power when being in the range of the FAP, resulting in prolonged battery life and reduced interference to the macrocell. When indoor users (e.g., the ones in their own apartments) are connected to an FAP, there are fewer indoor users transmitting in the macrocell and the overall capacity and QoS of the network improves. From the operator's point of view, femtocells can improve spectrum reuse and provide high network capacity and spectral efficiency. In addition, given that FAPs are typically paid for and maintained by the owners, the overall network cost is reduced.

On the other hand, despite these advantages, femtocells bring about multiple new challenges in terms of network architecture, interference management and synchronization. In particular, interference problems between macrocells and femtocells can become a major issue that requires new solutions due to the extra degrees of complexity in comparison with standard cellular networks.

Accordingly, new systems, methods, and media for reducing femtocell interference are provided.

SUMMARY

Systems, methods, and media for reducing femtocell interference are provided. In some embodiments, systems for reducing femtocell interference are provided, the systems comprising: at least one hardware processor that: estimates a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimates a path loss from the MU user to a femtocell access point (FAP); determines whether the MU can meet a first target signal to interference plus noise ratio (SINR); determines whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricts the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined that the transmission from the MU will prevent the FU from achieving the second target SINR.

In some embodiments, methods for reducing femtocell interference are provided, the methods comprising: estimating, using at least one hardware processor, a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimating, using the at least one hardware processor, a path loss from the MU user to a femtocell access point (FAP); determining, using the at least one hardware processor, whether the MU can meet a first target signal to interference plus noise ratio (SINR); determining, using the at least one hardware processor, whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricting, using the at least one hardware processor, the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.

In some embodiments, non-transitory computer-readable media containing computer-executable instructions that, when executed by a processor, cause the hardware processor to perform a method for reducing femtocell interference are provided, the method comprising: estimating a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimating a path loss from the MU user to a femtocell access point (FAP); determining whether the MU can meet a first target signal to interference plus noise ratio (SINR); determining whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricting the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 is a diagram illustrating different types of macrocell and femtocell interferences that can be addressed in accordance with some embodiments.

FIG. 2 is a diagram illustrating different components and their arrangement in macrocell and femtocells in accordance with some embodiments.

FIG. 3 is a diagram illustrating a process for classifying macrocell users in accordance with some embodiments.

FIGS. 4 a and b are diagrams illustrating a process for performing an auction process for allocating subcarriers to macrocell users in accordance with some embodiments.

FIG. 5 is a diagram illustrating a distributed process for performing an auction process for allocating subcarriers to femtocell users in accordance with some embodiments.

FIG. 6 is a diagram illustrating a joint process for performing an auction process for allocating subcarriers to femtocell users in accordance with some embodiments.

DETAILED DESCRIPTION

With femtocells overlaying on top of a traditional cellular deployment, one can expect to encounter three types of uplink interference: macrocell user (MU) to femtocell access point (FAP) interference, femtocell user (FU) to macrocell base station (MBS) interference, and FU to FAP interference, as illustrated in FIGS. 1 a, 1 b, and 1 c, respectively.

In OFDMA-based systems such as mobile WiMax, power control can be employed for the uplink. Power control can be used to ensure (when possible) that a given MU is transmitting enough power to achieve a minimum signal-to-interference-plus-noise-ratio (SINR) at the MBS receiver given the current channel condition, which can be measured by the system periodically. If an MU is located far away from the MBS, the power control algorithm can set its transmitted power to a high level to meet the target SINR value.

As depicted in FIG. 1 a, however, if an MU 102 happens to be in the vicinity of a femtocell 104 using the same subcarrier and also far away from an MBS 106, then its signal could be high enough to propagate through the walls of a building where an FAP 108 is deployed and generate interference. In fact, it is indeed on the macrocell edge where femtocells are most necessary and useful, so this kind of interference is expected to be very frequent.

Due to frequency reuse among femtocells, it is possible that a FU 112 in a femtocell 114 may use the same subcarrier as an MU 116, and thus the FU may interfere with a macrocell 118, as depicted in FIG. 1 b. In order to overcome the interference from an FU 112 to an MBS 120, the MBS can measure the interfered subcarrier and apply uplink power control on MU 116, which will determine that it needs to transmit higher power in order to reach its target SINR at the receiver. This increase of the transmission power may worsen MU to FAP interference.

In accordance with some embodiments, to treat the uplink interference problem in orthogonal frequency-division multiple-access (OFDMA)-based femtocell networks with partial co-channel deployment, mechanisms for mitigating inter-tier interference are provided. In accordance with some embodiments, femto-interfering macrocell users can be required to use only some dedicated subcarriers, and non-interfering macrocell users can use either the dedicated subcarriers or shared subcarriers, which can also be used by femtocell users. Mechanisms for allocating subcarriers based on auction algorithms for macrocell users and femtocell users to independently mitigate intra-tier interferences are also provided in some embodiments.

An example of femtocells and macrocell coexistence in a two-tier network 200 is illustrated in FIG. 2. In such a network, femtocells 202 are in one tier and a macrocell 204 is in another tier. The femtocells overlay on top of the macrocell forming a hierarchical cell structure. At distances D₁ 206 and D₂ 208 from MBS 210 (which can be any suitable distances), two groups (or any other suitable number) of twenty five femtocells (or any other suitable number) can be arranged in square grids (e.g., in a residential neighborhood) of area D²=10000 m² (or any other suitable size), with five femtocells (or any other suitable number) per dimension. The radius of each femtocell can be R^(FC)=10 m (or any other suitable size). The FAPs can be located in the center of their corresponding femtocells. The coverage radius of the macrocell can R^(MC)=500 m (or any other suitable size).

Given a total number of available subcarriers N, N_(s) subcarriers can be shared by the FUs and the MUs, and the remaining (N−N_(s)) subcarriers can be used by MUs only. The transmitting power of a MU can be denoted as P^(MU) and P_(min) ^(MU)<=P^(MU)<=P_(max) ^(MU) by using power control according to the measurement of each subcarrier channel state. Owing to the small radius of the femtocell, and FU and MU being the same type of terminal, the transmission power of an FU, P^(FU), can be constant and P^(FU)=P_(min) ^(MU).

In accordance with some embodiments, MU power control, and channel selection can be used to mitigate interference between MUs 212 and FAPs 214 and between FUs 216 and MBSs 210. In order to do so, an MU can first use power control to improve its SINR in order to satisfy its QoS requirement. If the MU cannot reach its minimum SINR requirement (e.g., due to it being a long distance from its MBS and/or interference from one or more FUs), it can switch to a dedicated subcarrier. If the MU can meet its target SINR, then it can be checked whether or not the MU's transmission power is strong enough to interfere with its nearest co-channel FU. If the position of the MU is close enough to an FAP to interfere with the co-channel FU, the MU can use a dedicated subcarrier. Otherwise the MU can use a shared subcarrier.

More particularly, for example, such a process 300 can be performed as shown in FIG. 3. As illustrated, after process 300 begins at 302, for a given MU m, an estimate of the total path loss to its MBS (χ_(m) ^(MU)) can be made at 304. Next, at 306, an estimate of the path loss to the MU's closest active FAP (χ_(m) ^(MF)) can be made by measuring the Reference Signal Received Power (RSRP) of the active FAPs in the downlink. Then, at 308, it can be determined whether the MU can meet its target SINR by using power control. If so, then, at 310, process 300 can determine whether the transmission power of this MU may cause its closest FUs' SINR to drop below the FUs' minimum requirements. If it is determined at 310 that the FUs in the closest femtocells can satisfy their SINR requirements, then, at 312 the MU can be designated as a regular user and as able to use either the shared subcarriers or the dedicated subcarriers. Otherwise, if it is determined at either at 308 or 310 that the MU or an FU, respectively, cannot meet its minimum SINR, the MU can be designated as a femto-interfering user and can be restricted to using only dedicated subcarriers at 314. After designating an MU as a regular user or a femto-interfering user at 312 or 314, respectively, process 300 can terminate at 316.

As another example, to designate an MU as a “regular user” or a “femto-interfering user,” a scenario in which an FU is at the edge of the femtocell can be considered. In this scenario, one can assume that the estimated distance from the MU to the closest FAP is d^(MF) based on the RSRP measurement. Then, to prevent an MU from interfering with an FU in the closest femtocell, the SINRs of the MU and the FU can be required to satisfy the following constraints:

$\begin{matrix} {{\gamma^{FU} = {\frac{P^{FU}{G^{F}/\chi^{FU}}}{I^{MF} + I^{FF} + W}>=\gamma_{\min}^{FU}}},{and}} & (1) \\ {{\gamma^{MU} = {\frac{P^{MU}{G^{M}/\chi^{MU}}}{I^{FM} + W}>=\gamma_{\min}^{MU}}},} & (2) \end{matrix}$

where:

P^(FU) is the output power of the FU;

G^(F) is the gain of the FU;

P^(MU) is the output power of the MU;

G^(M) is the gain of the MU;

W accounts for the noise power;

χ^(FU) denotes the path loss from the FU to its FAP;

χ^(MU) denotes the path loss from the MU to its MBS;

γ_(min) ^(FU) is the minimum SINR requirement for the FU;

γ_(min) ^(MU) is the minimum SINR requirement for the MU;

I^(MF) is the interference from the MU to the FAP;

I^(FF) is the interference from FUs in other femtocells to a given FU; and

I^(FM) is the interference from FUs to the MU.

I^(MF), the interference from the MU to the FAP, can be given by

$\begin{matrix} {I^{MF} = \frac{P^{MU}G^{F}}{\chi^{MF}}} & (3) \end{matrix}$

where P^(MU) is the transmit power of the MU, G^(F) is the antenna gain of the FAP, and χ^(MF) is the path loss from the MU to the FAP and is related to d^(MF).

I^(FF), the interference from FUs in other femtocells to a given FU, can be caused by FUs in adjacent femtocells as well as by FUs in non-adjacent femtocells in some embodiments. When intra-tier subcarrier allocation across adjacent femtocells is performed as described below, the impact of adjacent femtocells on I^(FF) can be ignored in some embodiments. In such embodiments, I^(FF) can be estimated based on the interference that would be caused by a scenario in which the FUs in the four closest, non-adjacent femtocells (e.g., femtocells 220, 222, 224, and 226 of FIG. 2) use the same subcarrier as the given FU (e.g., femtocell 228 of FIG. 2). In such a scenario, interference from the interfering FUs can be given by:

$\begin{matrix} {I^{FF} = \frac{4P^{FU}G^{FA}}{\chi^{FF}}} & (4) \end{matrix}$

where χ^(FF) accounts for the path loss from one of the interfering FUs (e.g., in one of femtocells 220, 222, 224, and 226 of FIG. 2) to the FAP of the given FU (e.g., the FAP in femtocell 228 of FIG. 2), which path loss χ^(FF) can be calculated using the distance of 3R^(FC) (as shown in FIG. 2).

I^(FM), the interference from FUs to the MU, can be given by

$\begin{matrix} {I^{FM} = {\overset{\;}{\sum\limits_{i \in M_{int}}^{\;}}\; \frac{P^{FU}G^{F}}{\chi_{i}^{FM}}}} & (5) \end{matrix}$

where M_(int) indicates the set of interfering FUs to the MU, and χ_(i) ^(FM) is the path loss from the ith FU in M_(int) to the MBS. The interference can be estimated by performing uplink measurements of RSRP by the MBS.

Taking equalities in (1) and (2), and using (3)-(5), χ^(MU) can be solved for and the maximum path loss from MU to its MBS, χ_(max) ^(MU), with the constraints of (1) and (2) obtained as follows:

$\begin{matrix} {\chi_{\max}^{MU} = {\frac{\chi^{MF}{G^{M}\left( {\frac{P^{FU}}{\gamma_{\min}^{FU}\chi^{FU}} - \frac{I^{FF} + W}{G^{F}}} \right)}}{\left( {I^{FM} + W} \right)\gamma_{\min}^{FU}}.}} & (6) \end{matrix}$

All the parameters on the right-hand side of (6) are constants except for the two variables χ^(MF) and I^(FM). Thus, χ_(max) ^(MU) is primarily affected by the path loss from the MU to its closest FAP, χ^(MF), and the interference from the FUs to the MBS, I^(FM). Due to frequency reuse among femtocells, the value of I^(FM) is mainly related to the minimum distance from FUs to the MBS and the active probability of femtocells, which varies more slowly than χ^(MF). Therefore, different MUs have different χ_(max) ^(MU) due to their different locations. The MU with a larger distance from its closest FAP will have a larger χ_(max) ^(MU).

Any suitable path loss model(s) can be used for making these determinations in some embodiments. For example, in some embodiments, a path loss model based on suburban deployment of FAPs located in single-floor houses/buildings can be used. In this model, the path loss between an FU and an FAP, where the FU is inside a different house that the FAP, can be calculated as:

χ=max(15.3+37.6 log₁₀ d,38.46+20 log₁₀ d)+0.7 d _(indoor) +n _(w) L _(w) +X.  (7)

The pass loss between an FU and an FAP, where the FU is inside the same house as the FAP, can be calculated as:

χ=38.46+20 log₁₀ d+0.7d _(indoor) +X.  (8)

The pass loss between an MU and an FAP, where the MU is outside, and the path between an FU and an MBS, where the FU is inside a house, can be calculated as:

χ=max(15.3+37.6 log₁₀ d,38.46+20 log₁₀ d)+0.7d _(indoor) +n _(w) L _(w) +X.  (9)

The pass loss between an MU and an MBS, where the MU is outside, can be calculated as:

χ=15.3+37.6 log₁₀ d+X.  (10)

In equations (7)-(10): d is the transmitter-receiver separation in meters; d_(indoor) is the indoor distance in meters; L_(w) is the penetration loss through external walls, generally assumed to be 15 dB; and n_(w) is the number of penetrated walls. Using an intra-tier interference mitigation scheme among femtocells (as described below) we can assume that n_(w)>=2 for the path loss χ^(FF). In some embodiments, a general normal distribution with a standard deviation of 4 dB can be used for the shadow fading X(dB) for the pass loss between an FU and an FA, where the FU is inside the same house as the FAP, and a general normal distribution with a standard deviation of 8 dB can be used for the shadow fading X(dB) for other path losses.

Once χ_(max) ^(MU) has been determined, an MU whose path loss to its MBS is less than its corresponding χ_(max) ^(MU) can be classified as a regular user and enabled to use either a dedicated subcarrier or a shared subcarrier. An MU whose path loss to its MBS is greater than its corresponding χ_(max) ^(MU) can be classified as a femto-interfering user and restricted to using only a dedicated subcarrier.

As described above, subcarriers can be allocated to MUs based on whether those MUs are determined to be regular users or femto-interfering users. Any suitable technique for allocating subcarriers can be used in some embodiments. For example, in some embodiments, subcarriers can be allocated based on the following:

max_({a) _(mn) _(MU) _(})Σ_(m=1) ^(M)ω_(m)(Σ_(n=1) ^(N) c _(mn) ^(MU) a _(mn) ^(MU)),

s.t. a _(mn) ^(MU)ε{0,1},

Σ_(m) a _(mn) ^(MU)<=1,∀n,

Σ_(n) a _(mn) ^(MU) =k _(m) ,∀m,

a _(mn) ^(MU)=0,∀nεF _(s) ,∀mεU _(int)  (11)

where:

-   -   M is the number of MUs;     -   ω_(m) is a priority or weighting factor for the mth MU;     -   c_(mn) ^(MU) denotes the data rate for MU in on subcarrier n;     -   a_(mn) ^(MU) is an indicator variable such that a_(mn) ^(MU)=1         if the nth subcarrier is allocated to the mth MU, otherwise         a_(mn) ^(MU)=0;     -   F_(s) is the set of shared subcarriers;     -   U_(int) is the set of femto-interfering users;     -   Each subcarrier is only assigned to one user; and     -   The mth MU requires to be allocated k_(m) subcarriers and         Σ_(m)k_(m)<=N.

If the nth subcarrier for MU m has SINR γ_(mn) ^(MU), assuming a 3 dB gap to theoretical rate; then its rate can be estimated as

$\begin{matrix} {c_{mn}^{MU} = {{\log\left( {1 + \frac{\gamma_{mn}^{MU}}{2}} \right)}\mspace{14mu} \left( {{bits}\text{/}{channel}\mspace{14mu} {use}} \right)}} & (12) \end{matrix}$

The second constraint in (11) indicates that any subcarrier can be allocated to at most one MU to avoid intra-cell interference. The third constraint in (11) defines the number of subcarriers allocated to an MU m is k_(m). Finally, the last constraint in (11) prevents the femto-interfering MUs U_(int) from occupying the shared subcarriers.

Note that here the STNR values may incorporate the short-term channel fading effects and are assumed to be perfectly calculated by the MBS at the beginning of each iteration (i.e., at the beginning of each frame) by performing uplink measurements of RSRP of FUs (i.e., the interference from FUs) and subcarrier channel state.

In some embodiments, the optimization problem given by (11) can be translated into a special 0-1 combinatorial optimization problem by introducing a dummy user with index=m=0, such that c_(0,n) ^(MU)=0, ∀n, and the number of its allocated subcarriers k₀=N−Σ_(m=1) ^(M)k_(m), with the understanding that any subcarrier assigned to the dummy user is not used for data transmission. The mth user can be divided into k_(m) “sub-users” and an indicator variable ã_(m,l,n) ^(MU), l=1, 2, . . . , k_(m) can be defined such that ã_(m,l,n) ^(MU)=1 if the nth subcarrier is allocated to the lth sub-user of the mth user. In addition, let {tilde over (ω)}_(m,l)

ω_(m) and {tilde over (c)}_(m,l,n) ^(MU)

c_(mn) ^(MU), l=1, 2, . . . , k_(m). Thus the original optimization problem (11) can be converted to the following:

max_({ã) _(m,l,n) _(MU) _(})Σ_(m=0) ^(M)Σ_(l) ^(k) ^(m) {tilde over (ω)}_(m,l)(Σ_(n=1) ^(N) {tilde over (c)} _(m,l,n) ^(MU) ã _(m,l,n) ^(MU)),

s.t. Σ _(m)Σ_(l) ã _(m,l,n) ^(MU)=1,∀n

Σ_(n) ã _(m,l,n) ^(MU)=1,∀m,l,

ã _(m,l,n) ^(MU)={0,1},

ã _(m,l,n) ^(MU)=0,∀nεF _(s) ,∀mεU _(int),  (13)

which is a symmetric assignment problem. Such an assignment problem can be solved efficiently using an auction algorithm in some embodiments.

Assuming a set of prices {r_(m), n=1, . . . , N}, a total number of objects N, and a positive scalar ε, a player m can be defined as being happy with the object n_(m) if the profit (i.e., reward minus price) of assigning object n_(m) to player m is within ε from a maximum profit. For example, this relationship can be represented as:

f _(mn) _(m) −r _(n) _(m) >=max_(n) {f _(mn) −r _(n)}−ε,  (14)

where:

f_(mn) _(m) denotes the reward of object n_(m) to player m; and

r_(n) _(m) represents the current price of object n_(m).

If an object n_(m) assigned to player m does not satisfy the inequality (14), player m is defined as being unhappy. For problem (13), the reward denotes the data throughput of each subcarrier for every sub-user and the price is an increasing variable during the auction process.

An example of an auction process for solving (13) that can be used in some embodiments is shown in FIGS. 4 a and 4 b.

Turning to FIG. 4 a, after process 400 has begun at 402, the process can initialize ε, the happiness of sub-users, and subcarrier prices at 404. For example, any suitable a can be selected, all sub-users (except for the dummy sub-users) can be set as being unhappy, and the price for every subcarrier r_(n) can be set to zero.

Next, at 406, process 400 can choose an unhappy femto-interfering sub-user from the set of femto-interfering sub-users Uint. The process can next calculate the chosen sub-user's maximum profit and other femto-interfering sub-users' maximum profit, and identify the best subcarrier (n_(m,l)) with the maximum profit for the sub-user, at 408. These maximum profits can be calculated in any suitable manner. For example, the chosen sub-user's maximum profit can be calculated as φ_(m,l,n) _(m,l) =max_(n)(f_(m,l,n)−r_(n)). As another example, the other sub-users' maximum profit can be calculated as φ_(m,l, n) _(m,l) =max_(n,n≠n) _(m,l) (f_(m,l,n)−r_(n)). f_(m,l,n) can be calculated as being equal to {tilde over (c)}_(m,l,n) ^(MU), as described above. At 410, the best subcarrier n_(m,l) can be allocated to the chosen sub-user (m,l).

It can next be determined if this best subcarrier has already been allocated to another femto-interfering subuser ( m, l) at 412, and if so, that allocation can be removed at 414. Then, at 416, process 400 can determine if sub-user (m,l) was previously assigned to a subcarrier, and if so, at 418, allocate that subcarrier to the other femto-interfering sub-user ( m, l).

If it is determined at 412 that the subcarrier was not allocated to another sub-user or it is determined at 416 that the other subcarrier was not allocated to the chosen sub-user, or after allocating the other subcarrier to the other sub-user at 418, process 400 can then proceed to 420 at which it can update the price of the best subcarrier n_(m,l). This updating of the price can be performed in any suitable manner. For example, in some embodiments, the price r_(n) _(m,l) can be updated as follows: r_(n) _(m,l) =r_(n) _(m,l) +(φ_(m,l,n) _(m,l) −φ_(m,l, n) _(m,l) )+ε.

Next, at 422, process 400 can set the chosen sub-user as being happy and can determined whether the other sub-user (if any) is happy by determining whether f _(m, l,n) _(m, l) −r_(n) _(m, l) >=max_(n){f _(m, l,n)−r_(n)}−ε.

Then, at 424, process 400 can determine whether all femto-interfering sub-users are happy. If not, the process can choose a next unhappy femto-interfering sub-user at 426 and loop back to 408. Otherwise, process 400 can continue to 428 of FIG. 4 b.

As shown in FIG. 4 b, at 428, process 400 can choose an unhappy regular sub-user from the set of regular sub-users Ureg. The process can next calculate the chosen sub-user's maximum profit and other regular sub-users' maximum profit, and identify the best subcarrier (n_(m,l)) with the maximum profit for the sub-user, at 430. These maximum profits can be calculated in any suitable manner. For example, the chosen sub-user's maximum profit can be calculated as φ_(m,l,n) _(m,l) =max_(n)(f_(m,l,n)−r_(n)). As another example, the other sub-users' maximum profit can be calculated as φ_(m,l n) _(m,l) =max_(n,n≠n) _(m,l) (f_(m,l,n)−r_(n)). f_(m,l,n) can be calculated as being equal to {tilde over (c)}_(m,l,n) ^(MU), as described above. At 432, the best subcarrier n_(m,l) can be allocated to the chosen sub-user (m,l).

It can next be determined if this best subcarrier has already been allocated to another regular subuser ({tilde over (m)},{tilde over (l)}) at 434, and if so, that allocation can be removed at 436. Then, at 438, process 400 can determine if sub-user (m,l) was previously assigned to a subcarrier, and if so, at 440, allocate that subcarrier to the other regular sub-user ({tilde over (m)},{tilde over (l)}).

If it is determined at 434 that the subcarrier was not allocated to another sub-user or it is determined at 438 that the other subcarrier was not allocated to the chosen sub-user, or after allocating the other subcarrier to the other sub-user at 440, process 400 can then proceed to 442 at which it can update the price of the best subcarrier n_(m,l). This updating of the price can be performed in any suitable manner. For example, in some embodiments, the price r_(n) _(m,l) can be updated as follows: r_(n) _(m,l) =r_(n) _(m,l) +(φ_(m,l,n) _(m,l) −φ_(m,l,ñ) _(m,l) )+ε.

Next, at 444, process 400 can set the chosen sub-user as being happy and can determined whether the other sub-user (if any) is happy by determining whether f_({tilde over (m)},{tilde over (l)},n) _({tilde over (m)},{tilde over (l)}) −r_(n) _({tilde over (m)},{tilde over (l)}) >=max_(n){f_({tilde over (m)},{tilde over (l)},n)−r_(n)}−ε.

Then, at 446, process 400 can determine whether all regular sub-users are happy. If not, the process can choose a next unhappy regular sub-user at 448 and loop back to 430. Otherwise, process 400 can continue to 450 at which it can allocate remaining subcarriers to dummy sub-users and to 452 at which the process can terminate.

For any arbitrarily fixed ε, this auction algorithm process can converge to an allocation that yields a total reward within Nε from the optimal objective function value of (13). A larger ε produces a worse approximation to the optimal allocation but faster convergence; while a smaller ε results in a better approximation to the optimal allocation but slower convergence.

In some embodiments, the designation of MUs as femto-interfering or regular can be updated at any suitable time. For example, the designation of MUs as femto-interfering or regular can be updated periodically, in response to any suitable metric, etc. In some embodiments, the channel quality of the subcarriers can similarly be updated at any suitable time (e.g., periodically, in response to a suitable metric, etc.) and then the subcarrier allocation re-performed.

In some embodiments, intra-tier subcarrier allocation to the femtocells can be performed in a distributed manner. In some embodiments, such an allocation can be made by a femtocell observing SINR for subcarriers available to it and by selecting those subcarriers with higher values.

More particularly, in some embodiments, such a subcarrier allocation process can be formulated as follows:

max_({a) _(pqn}) Σ_(p) _(q) ₌₁ ^(P)ω_(p) _(q) (Σ_(n=1) ^(N) ^(s) c _(p) _(q) _(n) a _(p) _(q) _(n)),

s.t. a _(p) _(q) _(n)ε{0,1},∀p _(q) ,n,

Σ_(p) _(q) a _(p) _(q) _(n)<=1,∀n,

Σ_(n) a _(p) _(q) _(n) =k _(p) _(q) ,∀p _(q),  (15)

where:

p_(q) denote the pth user (or FU) in the qth femtocell;

P is the total number of FUs;

Q is the number of FAPs in a macrocell;

ω_(p) _(q) is a priority or weighting factor for user p_(q);

c_(p) _(q) _(n) denotes the obtainable throughput for the pth FU in the qth femtocell on the nth subcarrier; and

a_(p) _(q) _(n) is an indicator variable, such that a_(p) _(q) _(n)=1 if the nth subcarrier is allocated to the pth FU in the qth femtocell.

The second constraint in (15) indicates that one given frequency can be allocated to at most one FU in the same femtocell to avoid intra-cell interference. The third constraint in (15) indicates that the number of subcarriers one FU can be allocated to is k_(p) _(q) .

c_(p) _(q) _(n) can be estimated based on the SINR of the subcarrier in some embodiments. More particularly, for example, if the nth subcarrier for FU p in the qth femtocell has SINR γ_(p) _(q) _(n) ^(FU), assuming a 3 dB gap to theoretical rate, then its rate can be estimated as

$c_{p_{q}n} = {{\log\left( {1 + \frac{\gamma_{p_{q}n}^{FU}}{2}} \right)}\mspace{14mu} {\left( {{bits}\text{/}{channel}\mspace{14mu} {use}} \right).}}$

The SINR of a subcarrier can be estimated by performing an interference measurement on the subcarrier by an FAP using the FAP's sniffer capability.

The optimization problem in (15) can be translated into a symmetric assignment problem by introducing dummy users as follows:

max_({ã) _(p,q,l,n) _(})Σ_(p=0) ^(P)Σ_(l) ^(k) ^(pq) {tilde over (ω)}_(p) _(q) ^(,l)(Σ_(n=1) ^(N) {tilde over (c)} _(p) _(q) _(,l,n) ã _(p) _(q) _(,l,n)),

s.t. Σ _(p) _(q) Σ_(l) ã _(p) _(q) _(,l,n)=1,∀^(n),

Σ_(n) ã _(p) _(q) _(,l,n)=1,∀p _(q) ,l,

ã _(p) _(q) _(,l,n)ε{0,1}.  (16)

In some embodiments, an auction algorithm, such as that described above, can be used to solve this symmetric assignment problem. As with the auction process described above, assuming a set of prices {r_(n), n=1, . . . , N}, a total number of objects N, and a positive scalar ε, a player p can be defined as being happy with the object n_(p) if the profit (i.e., reward minus price) of assigning object n_(p) to player p is within ε from a maximum profit. For example, this relationship can be represented as:

f _(pn) _(p) −r _(n) _(p) ≧=max_(n) {f _(pn) −r _(n)}−ε,  (17)

where:

f_(pn) _(p) denotes the reward of object n_(p) to player p; and

r_(n) _(p) represents the current price of object n_(p).

If an object n_(p) assigned to player p does not satisfy the inequality (17), player p is defined as being unhappy. For problem (17), the reward denotes the data throughput of each subcarrier for every sub-user and the price is an increasing variable during the auction process.

An example of an auction process for solving (16) that can be used in some embodiments is shown in FIG. 5.

Turning to FIG. 5, after process 500 has begun at 502, the process can initialize ε, the happiness of sub-users, and subcarrier prices at 504. For example, any suitable ε can be selected, all sub-users (except for the dummy sub-users) can be set as being unhappy, and the price for every subcarrier r_(n) can be set to zero.

Next, at 506, process 500 can choose an unhappy sub-user from the set of sub-users. The process can next calculate the chosen sub-user's maximum profit and other sub-users' maximum profit, and identify the best subcarrier (n_(p,l)) with the maximum profit for the sub-user, at 508. These maximum profits can be calculated in any suitable manner. For example, the chosen sub-user's maximum profit can be calculated as φ_(p,l,n) _(p,l) =max_(n)(f_(p,l,n)−r_(n)). As another example, the other sub-users' maximum profit can be calculated as φ_(p,l,ñ) _(p,l) =max_(n,n≠n) _(p,l) (f_(p,l,n)−r_(n)). f_(p,l,n) can be calculated as being equal to {tilde over (c)}_(p,l,n), as described above. At 510, the best subcarrier n_(p,l) can be allocated to the chosen sub-user (p,l).

It can next be determined if this best subcarrier has already been allocated to another subuser ( p, l) at 512, and if so, that allocation can be removed at 514. Then, at 516, process 500 can determine if sub-user (p,l) was previously assigned to a subcarrier, and if so, at 518, allocate that subcarrier to the other sub-user ( p, l).

If it is determined at 512 that the subcarrier was not allocated to another sub-user or it is determined at 516 that the other subcarrier was not allocated to the chosen sub-user, or after allocating the other subcarrier to the other sub-user at 518, process 500 can then proceed to 520 at which it can update the price of the best subcarrier n_(p,l). This updating of the price can be performed in any suitable manner. For example, in some embodiments, the price r_(n) _(p,l) can be updated as follows: r_(n) _(p,l) =r_(n) _(p,l) +(φ_(p,l,n) _(p,l) −φ_(p,l,ñ) _(p,l) )+ε.

Next, at 522, process 500 can set the chosen sub-user as being happy and can determined whether the other sub-user (if any) is happy by determining whether f_({tilde over (p)},{tilde over (l)},n) _({tilde over (p)},{tilde over (l)}) −r_(n) _({tilde over (p)},{tilde over (l)}) >=max_(n){f_({tilde over (p)},{tilde over (l)},n)−r_(n)}−ε.

Then, at 524, process 500 can determine whether all sub-users are happy. If not, the process can choose a next unhappy sub-user at 526 and loop back to 508. Otherwise, process 500 can terminate at 528.

In some embodiments, each FAP can periodically estimate the quality of the allocated subcarriers and update the subcarrier allocation if necessary. This periodic estimation and updating can be performed independently and asynchronously of periodic estimation and updating by other FAPs. For example, each iteration of subcarrier allocation update can be performed every t+Δt seconds in each femtocell, where Δt is a random back-off time that is uniformly distributed.

In some embodiments, in performing this subcarrier allocation, the interference caused by a given FU to non-neighboring FAPs can be ignored.

In some embodiments, rather than performing subcarrier allocation separately, subcarrier allocation to the femtocells can be performed in a joint manner. Such an allocation process can involve message exchanges between adjacent femtocells during each iteration to coordinate the allocation.

In such an allocation, “virtual” users can be used to capture interactions between adjacent femtocells. Every FU in a femtocell can generate a virtual user at each adjacent femtocell. Each virtual user can be allocated the same subcarriers as its corresponding FU. This way, the multi-cell subcarrier allocation problem can be decomposed into a group of single cell frequency allocation problems in which the interference between users in different femtocells is represented by constraints between its own users and the corresponding virtual users.

In some embodiments, such a multi-cell subcarrier allocation problem can be formulated as follows:

$\begin{matrix} {{\max\limits_{\{ a_{p_{q}n}\}}{\sum\limits_{q = 1}^{Q}\; {\sum\limits_{p_{q} = 1}^{P}\; {\omega_{p_{q}n}\left( {\sum\limits_{n = 1}^{N_{S}}{c_{p_{q}n}a_{p_{q}n}}} \right)}}}},{{s.t.\mspace{14mu} a_{p_{q}n}} \in \left\{ {0,1} \right\}},{\forall p_{q}},q,n,{{{\sum\limits_{\;}^{\;}\; {{}_{pq}^{\;}{}_{p_{q}n}^{}}} + {\sum\limits_{\;}^{\;}\; {{}_{p_{i} \in S_{q}}^{\;}{}_{{\overset{\sim}{p}}_{iq}n}^{}}}}<=1},{\forall q},n,{{\sum\limits_{\;}^{\;}\; {{}_{}^{\;}{}_{p_{q}n}^{}}} = k_{p_{q}}},{\forall p_{q}},q,{a_{{\overset{\_}{p}}_{iq}n} = a_{p_{i}n}},{\forall n},{p_{i} \in S_{q}},{q.}} & (18) \end{matrix}$

where:

p_(q) denote the pth user (or FU) in the qth femtocell;

P is the total number of FUs;

Q is the number of FAPs in a macrocell;

ω_(p) _(q) is a priority or weighting factor for user p_(q);

c_(p) _(q) _(n), denotes the obtainable throughput for the pth FU in the qth femtocell on the nth subcarrier;

a_(p) _(q) _(n) is an indicator variable, such that a_(p) _(q) _(n)=1 if the nth subcarrier is allocated to the pth FU in the qth femtocell;

S_(q) represent the q-th femtocell's interference user set containing all the users in its adjacent femtocells;

every user p_(i,i≠q)εS_(q) can generate interference to the qth femtocell; and

{tilde over (p)}_(iq) denotes the virtual user generated for the qth femtocell by the FU p_(i) in the adjacent ith femtocell.

The first three constraints in (18) are equivalent to those for the single-cell case in (15). The fourth constraint in (18) models the effect of inter-femtocell interference.

Note that the problem in (18) is feasible if and only if Σ_(p) _(q) k_(p) _(q) +Σ_(p) _(i) _(εS) _(q) k_(p) _(i) <=N_(S).

A greedy algorithm process can be used to solve this problem in some embodiments. In a first step of such a process, an auction method can be independently performed for resource allocation in every femtocell while ignoring the constraint that each user and its corresponding virtual user(s) must share the same resource. The reward for allocating a subcarrier in a cell to any of its users can be acquired based on the SINR and c_(p) _(q) _(n), while the reward for allocating a subcarrier in a cell to any virtual user is set as zero in the first step, so no cell will allocate any resource to its virtual users. In the second step, we ensure that every user occupies the same subcarriers as its corresponding virtual user(s), by trading subcarriers in a greedy fashion.

An example of such a process for allocating subcarriers is illustrated in FIG. 6. As shown, after beginning at 602, process 600 can obtain the set S_(q) for each femtocell q at 604. Next, an auction algorithm can be run to perform a subcarrier allocation for every femtocell at 606. Any suitable auction algorithm can be used. For example, the auction algorithm described above for distributed intra-tier femtocell subcarrier allocation can be used in some embodiments.

Process 600 can next select the first femtocell at 608. Then, at 610, the subcarrier allocation results for each user in Sq and femtocell q can be collected, and the conflicting subcarriers (Cq) which are simultaneously occupied by the users in Sq and femtocell q can be identified.

At 612, process 600 can determine if there are any conflicting subcarriers in the femtocell. If not, then process 600 can branch to 632 where it can be determined if there are anymore femtocells to be processed. Otherwise, process 600 can proceed to 614 where the first conflicting subcarrier in the femtocell can be selected.

Next, at 616, it can be determined whether the weighted rate (ω_(p) _(q) _(n)) of the assigned user in femtocell q is less than that of any user in Sq. If so, then the subcarrier can be removed from allocation to corresponding user in femtocell q at 618, and the maximum weighted rate subcarrier from the remaining subcarriers which are not occupied by the femtocell q and the users in Sq can be allocated to this corresponding user in femtocell q at 620. Otherwise, the subcarrier can be removed from allocation to the corresponding users in Sq at 622, and the maximum weighted rate subcarrier for each of these users can be found from their corresponding remaining subcarriers which are not allocated to these users' femtocells and the interference user set S_(q).

After completing 620 or 624, the updated subcarrier allocation results of each user in Sq can be provided to the corresponding FAP.

Then, at 628, process 600 can determine whether the current conflicting subcarrier is the last conflicting subcarrier for the present femtocell. If not, process 600 can select the next conflicting subcarrier at 630 and branch back to 616. Otherwise process 600 can determine if the current femtocell is the last femtocell at 632. If not, then process 600 can select the next femtocell at 634 and then branch back to 610. Otherwise, process 600 can terminate at 636.

The mechanisms and processes described herein for controlling power and allocating subcarriers in macrocells and femtocells can be used in any suitable networks incorporating macrocells and/or femtocells in some embodiments. For example, in some embodiments, these mechanisms and processes can be used in OFDMA networks. More particularly, these mechanisms and processes can be used, for example, in WiMax-OFDMA networks using any suitable modulation, such as QPSK, 16-QAM and 64-QAM (for example).

The mechanisms and processes described herein for controlling power and allocating subcarriers in macrocells and femtocells can be implemented in any suitable hardware that is part of or connected to a macrocell or femtocell in some embodiments. For example, these mechanisms and/or processes can be implemented in any of a general purpose device such as a computer or a special purpose device such as a client, a server, mobile terminal (e.g., mobile phone), etc. Any of these general or special purpose devices can include any suitable components such as a hardware processor (which can be a microprocessor, digital signal processor, a controller, etc.), memory, communication interfaces, display controllers, input devices, etc.

In some embodiments, any suitable computer readable media can be used for storing instructions for performing the mechanisms and/or processes described herein. For example, in some embodiments, computer readable media can be transitory or non-transitory. For example, non-transitory computer readable media can include media such as magnetic media (such as hard disks, floppy disks, etc.), optical media (such as compact discs, digital video discs, Blu-ray discs, etc.), semiconductor media (such as flash memory, electrically programmable read only memory (EPROM), electrically erasable programmable read only memory (EEPROM), etc.), any suitable media that is not fleeting or devoid of any semblance of permanence during transmission, and/or any suitable tangible media. As another example, transitory computer readable media can include signals on networks, in wires, conductors, optical fibers, circuits, any suitable media that is fleeting and devoid of any semblance of permanence during transmission, and/or any suitable intangible media.

Although the invention has been described and illustrated in the foregoing illustrative embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the invention can be made without departing from the spirit and scope of the invention, which is limited only by the claims that follow. Features of the disclosed embodiments can be combined and rearranged in various ways. 

What is claimed is:
 1. A system for reducing femtocell interference, comprising: at least one hardware processor that: estimates a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimates a path loss from the MU user to a femtocell access point (FAP); determines whether the MU can meet a first target signal to interference plus noise ratio (SINR); determines whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricts the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined that the transmission from the MU will prevent the FU from achieving the second target SINR.
 2. The system of claim 1, wherein the at least one hardware processor also designates the MU as femto-interfering when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.
 3. The system of claim 1, wherein the at least one hardware processor also performs an auction process to allocate subcarriers to the MU.
 4. The system of claim 3, wherein, in performing the auction process, the at least one hardware processor also: (a) selects a sub-user of the MU as a selected sub-user; (b) identifies for the selected sub-user a first maximum profit, wherein the first maximum profit is based on a data rate of the selected sub-user and data rates of other sub-users of the MBS; (c) identifies for the other sub-users a second maximum profit, wherein the second maximum profit is based on the data rate of the selected sub-user and the data rates of other sub-users; (d) allocates a best subcarrier to the selected sub-user; (e) determines whether the best subcarrier was allocated to one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; (f) determines whether another subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user; and (g) allocates the other subcarrier to the one of the other sub-users when: (1) it is determined that the best subcarrier was allocated to the one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; and (2) it is determined that the other subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user.
 5. The system of claim 4, wherein the at least one hardware processor also repeats (b) through (g) for one of the other sub-users.
 6. The system of claim 1, wherein the at least one hardware processor also performs an auction process to allocate subcarriers to the FU.
 7. The system of claim 6, wherein, in performing the auction process, the at least one hardware processor also: (a) selects a sub-user of the FU as a selected sub-user; (b) identifies for the selected sub-user a first maximum profit, wherein the first maximum profit is based on a data rate of the selected sub-user and data rates of other sub-users of the FAP; (c) identifies for the other sub-users a second maximum profit, wherein the second maximum profit is based on the data rate of the selected sub-user and the data rates of other sub-users; (d) allocates a best subcarrier to the selected sub-user; (e) determines whether the best subcarrier was allocated to one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; (f) determines whether another subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user; and (g) allocates the other subcarrier to the one of the other sub-users when: (1) it is determined that the best subcarrier was allocated to the one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; and (2) it is determined that the other subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user.
 8. The system of claim 7, wherein the at least one hardware processor also repeats (b) through (g) for one of the other sub-users.
 9. A method for reducing femtocell interference, comprising: estimating, using at least one hardware processor, a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimating, using the at least one hardware processor, a path loss from the MU user to a femtocell access point (FAP); determining, using the at least one hardware processor, whether the MU can meet a first target signal to interference plus noise ratio (SINR); determining, using the at least one hardware processor, whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricting, using the at least one hardware processor, the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.
 10. The method of claim 9, further comprising designating the MU as femto-interfering when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.
 11. The method of claim 9, further comprising performing an auction process to allocate subcarriers to the MU.
 12. The method of claim 11, wherein the auction process comprises: (a) selecting a sub-user of the MU as a selected sub-user; (b) identifying for the selected sub-user a first maximum profit, wherein the first maximum profit is based on a data rate of the selected sub-user and data rates of other sub-users of the MBS; (c) identifying for the other sub-users a second maximum profit, wherein the second maximum profit is based on the data rate of the selected sub-user and the data rates of other sub-users; (d) allocating a best subcarrier to the selected sub-user; (e) determining whether the best subcarrier was allocated to one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; (f) determining whether another subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user; and (g) allocating the other subcarrier to the one of the other sub-users when: (1) it is determined that the best subcarrier was allocated to the one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; and (2) it is determined that the other subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user.
 13. The method of claim 12, further comprising repeating (b) through (g) for one of the other sub-users.
 14. The method of claim 9, further comprising performing an auction process to allocate subcarriers to the FU.
 15. The method of claim 14, wherein the auction process comprises: (a) selecting a sub-user of the FU as a selected sub-user; (b) identifying for the selected sub-user a first maximum profit, wherein the first maximum profit is based on a data rate of the selected sub-user and data rates of other sub-users of the FAP; (c) identifying for the other sub-users a second maximum profit, wherein the second maximum profit is based on the data rate of the selected sub-user and the data rates of other sub-users; (d) allocating a best subcarrier to the selected sub-user; (e) determining whether the best subcarrier was allocated to one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; (f) determining whether another subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user; and (g) allocating the other subcarrier to the one of the other sub-users when: (1) it is determined that the best subcarrier was allocated to the one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; and (2) it is determined that the other subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user.
 16. The method of claim 15, further comprising repeating (b) through (g) for one of the other sub-users.
 17. A non-transitory computer-readable medium containing computer-executable instructions that, when executed by a processor, cause the hardware processor to perform a method for reducing femtocell interference, the method comprising: estimating a total path loss between a macrocell user (MU) and a mobile base station (MBS); estimating a path loss from the MU user to a femtocell access point (FAP); determining whether the MU can meet a first target signal to interference plus noise ratio (SINR); determining whether a transmission from the MU will prevent a femtocell user (FU) of the FAP from achieving a second target SINR; and restricting the MU to using subcarriers not used by the FAP when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.
 18. The non-transitory computer readable medium of claim 17, wherein the method further comprises designating the MU as femto-interfering when it is determined that the MU cannot meet the first target SINR and/or it is determined the transmission from the MU will prevent the FU from achieving the second target SINR.
 19. The non-transitory computer readable medium of claim 17, wherein the method further comprises performing an auction process to allocate subcarriers to the MU.
 20. The non-transitory computer readable medium of claim 19, wherein the auction process comprises: (a) selecting a sub-user of the MU as a selected sub-user; (b) identifying for the selected sub-user a first maximum profit, wherein the first maximum profit is based on a data rate of the selected sub-user and data rates of other sub-users of the MBS; (c) identifying for the other sub-users a second maximum profit, wherein the second maximum profit is based on the data rate of the selected sub-user and the data rates of other sub-users; (d) allocating a best subcarrier to the selected sub-user; (e) determining whether the best subcarrier was allocated to one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; (f) determining whether another subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user; and (g) allocating the other subcarrier to the one of the other sub-users when: (1) it is determined that the best subcarrier was allocated to the one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; and (2) it is determined that the other subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user.
 21. The non-transitory computer readable medium of claim 20, wherein the method further comprises repeating (b) through (g) for one of the other sub-users.
 22. The non-transitory computer readable medium of claim 17, wherein the method further comprises performing an auction process to allocate subcarriers to the FU.
 23. The non-transitory computer readable medium of claim 22, wherein the auction process comprises: (a) selecting a sub-user of the FU as a selected sub-user; (b) identifying for the selected sub-user a first maximum profit, wherein the first maximum profit is based on a data rate of the selected sub-user and data rates of other sub-users of the FAP; (c) identifying for the other sub-users a second maximum profit, wherein the second maximum profit is based on the data rate of the selected sub-user and the data rates of other sub-users; (d) allocating a best subcarrier to the selected sub-user; (e) determining whether the best subcarrier was allocated to one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; (f) determining whether another subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user; and (g) allocating the other subcarrier to the one of the other sub-users when: (1) it is determined that the best subcarrier was allocated to the one of the other sub-users prior to the best subcarrier being allocated to the selected sub-user; and (2) it is determined that the other subcarrier was allocated to the selected sub-user prior to the best subcarrier being allocated to the selected sub-user.
 24. The non transitory computer readable medium of claim 23, wherein the method further comprises repeating (b) through (g) for one of the other sub-users. 